This invention relates generally to computer storage device configuration, and more particularly to managing logical volumes mounted in a computer system.
Most operating systems identify a logical unit of mass storage through a xe2x80x9cwell-knownxe2x80x9d and system compatible name which defines an actual physical path to the logical unit, i.e.,  device0 partition1 . The operating system then associates a user-friendly name, such as a drive letter, with the well-known name so that the data on the storage device can be easily accessible by higher layers of the operating system and user applications. The higher layers of the operating system and applications assume that the well-known names, and thus the associated user-friendly names, are persistent across boot sessions. In actuality, the names are persistent only as long as the physical configuration of the computer does not change. Persistence cannot be guaranteed because such operating systems assign the well-known names in the order in which the storage devices are detected when booting. When the physical locations of the storage devices change, these operating systems will assign the well-known names to different devices. Therefore, the consistency of name assignments across multiple boot sessions is not preserved under all circumstances, and the higher operating system layers and user applications will be unable to access the data on the devices without modification.
Furthermore, most operation systems assume that only the storage devices found during the boot process will be present during the boot session. Thus, new storage devices added after booting cannot be recognized. This limitation also means that a logical device unit will not be recognized if the underlying storage device is removed and then reinserted during a boot session.
Therefore, there is a need in the art for a operating system that tracks logical device units during and across boot sessions, and provides persistent names despite physical configuration changes.
The above-mentioned shortcomings, disadvantages and problems are addressed by the present invention, which will be understood by reading and studying the following specification.
A logical volume mount manager is responsible for identifying and tracking logical volumes created from a physical storage device by the operating system, and for determining a redirected name for a logical volume which is used by higher layers of the operating system and user applications. The mount manager builds and maintains a persistent data structure based on a unique volume identifier which identifies the logical volume. Optionally, the mount manager also creates an in-memory data structure as well. Each entry in the data structure(s) consists of the redirected name and the unique volume identifier for a logical volume so that the redirected name persists across boot sessions. Because the operating system addresses a logical volume through a non-persistent device name, the mount manager causes the operating system to create a symbolic link between the device name and the redirected name when the mount manager first identifies the logical volume during a boot session so that the higher layers of the operating system and user applications can access the logical volume through the persistent redirected name.
When the physical configuration of the computer changes, the device name changes but the unique volume identifier does not. The mount manager uses the unique volume identifier to locate the appropriate redirected name in its data structure(s) and causes a new symbolic link to be created with the new device name so that the symbolic link resolves the redirected name to the correct logical volume under all circumstances.
Because the mount manager identifies the logical volume through its unique volume identifier and does not rely on the devices being located in any particular order in the system, or being discovered in any particular order during the boot process, or being present only during the boot process, changes in the physical configuration of the computer between boots, or during a boot session, have no effect on the higher layers of the operating system and user applications which rely on the redirected name. Thus, the level of indirection provided by the mount manager and supporting data structures guarantees that the higher layers of the operating system and user applications will be able to access data on a logical volume for the life of the logical volume without modifications.
The present application describes computer systems, methods, and computer-readable media of varying scope. The mount manager is variously described as causing the processor of a computer to perform certain actions, as a series of steps executed from a computer-readable medium, and in terms of its interaction with objects and other system components in an object-based operating system. In addition to the aspects and advantages of the present invention described in this summary, further aspects and advantages of the invention will become apparent by reference to the drawings and by reading the detailed description that follows.